
DS1922E
iButton High-Temperature Logger with
8KB Data-Log Memory
V PUP
t REH
t REH
V TH
V HY
0V
CASE A
t GL
CASE B
t GL
CASE C
Figure 14. Noise Suppression Scheme
POLYNOMIAL = X 16 + X 15 + X 2 + 1
X 0
1ST
STAGE
X 1
2ND
STAGE
X 2
3RD
STAGE
X 3
4TH
STAGE
X 4
5TH
STAGE
X 5
6TH
STAGE
X 6
7TH
STAGE
X 7
8TH
STAGE
9TH
STAGE
10TH
STAGE
11TH
STAGE
12TH
STAGE
13TH
STAGE
14TH
STAGE
15TH
STAGE
16TH
STAGE
X 8
X 9
X 10
X 11
X 12
X 13
X 14
X 15
X 16
CRC OUTPUT
INPUT DATA
Figure 15. CRC-16 Hardware Description and Polynomial
CRC Generation
The DS1922E uses two types of CRCs. One CRC is an
8-bit type and is stored in the most significant byte of
the 64-bit ROM. The bus master can compute a CRC
value from the first 56 bits of the 64-bit ROM and com-
pare it to the value stored within the DS1922E to deter-
mine if the ROM data has been received error-free. The
equivalent polynomial function of this CRC is X 8 + X 5 +
X 4 + 1. This 8-bit CRC is received in the true (noninvert-
ed) form, and it is computed at the factory and lasered
into the ROM.
The other CRC is a 16-bit type, generated according to
the standardized CRC-16 polynomial function x 16 + x 15
+ x 2 + 1. This CRC is used for error detection when
reading register pages or the data-log memory using
the Read Memory with CRC command and for fast veri-
fication of a data transfer when writing to or reading
from the scratchpad. In contrast to the 8-bit CRC, the
Maxim Integrated
16-bit CRC is always communicated in the inverted
form. A CRC generator inside the DS1922E (Figure 15)
calculates a new 16-bit CRC as shown in the command
flowchart of Figure 9. The bus master compares the
CRC value read from the device to the one it calculates
from the data and decides whether to continue with an
operation or to reread the portion of the data with the
CRC error. With the initial pass through the Read
Memory with CRC flowchart, the 16-bit CRC value is the
result of shifting the command byte into the cleared
CRC generator, followed by the two address bytes and
the data bytes. The password is excluded from the
CRC calculation. Subsequent passes through the Read
Memory with CRC flowchart generate a 16-bit CRC that
is the result of clearing the CRC generator and then
shifting in the data bytes.
With the Write Scratchpad command, the CRC is gener-
ated by first clearing the CRC generator and then shift-
37